feat(pick-report): render nested S-101 complex attributes#46
Merged
Conversation
A native S-101 feature's pick attributes carry complex attributes as nested
JSON — a complex attribute is an object (repeatable, so an array of instances):
topmark -> [{topmarkDaymarkShape, colour}], featureName -> [{name, language,
nameUsage}], information -> [{text}, ...]. The picker stringified the value, so
these showed as '[object Object]'.
Render them recursively instead: _attrRows walks the value — a string is a leaf
row; an array/object is an indented group (a bold header per instance, numbered
when repeated, then its sub-attributes one level deeper). Simple S-57 attrs are
unchanged (still flat rows). The S-101 featureName complex is lifted to the
subtitle (its English name), mirroring how OBJNAM is shown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A native S-101 feature's pick attributes carry complex attributes as nested JSON — a complex attribute is an object (repeatable, so an array of instances): topmark -> [{topmarkDaymarkShape, colour}], featureName -> [{name, language, nameUsage}], information -> [{text}, ...]. The picker stringified the value, so these showed as '[object Object]'.
Render them recursively instead: _attrRows walks the value — a string is a leaf row; an array/object is an indented group (a bold header per instance, numbered when repeated, then its sub-attributes one level deeper). Simple S-57 attrs are unchanged (still flat rows). The S-101 featureName complex is lifted to the subtitle (its English name), mirroring how OBJNAM is shown.